Data-storage system



.5b/1597.1? imp/f fer July 13, 1965 Filed Feb. 23. 1961 .ff/fe aree July 13, 1965 Filed Feb. 25, 1961 E' I4 R. O. GUNDERSON ETAL DATA-STORAGE SYSTEM 8 Sheets-Sheet 5 .nu en nu ...m/7. @giga/rv @auf July 13, 1965 R. o. GUNDERSON ETAL 3,195H4 DATA-STORAGE SYSTEM Filed Feb. 25. 1961 8 Sheets-Sheet 4 July 13 1965 R. o. GUNDERsoN ETAL 3,195,114

DATA-STORAGE SYS TEM 8 Sheets-Sheet 5 Filed Feb. 25. 1961 m: xvi NYS:

IIJ

July 13, 1965 Filed Feb. 23'. 19631 R. ot.. GUNDERSON ETAL" mfg-Smau@ SYSTEM:

8 Sheets-Sheet 6 mit aww?, W@

July 13, 1965 R. o. GUNDERsoN ETAL 3,195,114

DATA-S TORAGE SYSTEM 972 Mrs I I I I I I I I I I I I I I I I I I I July 13, 1965 R. o. GUNDERsoN ETAL 3,195,114

DATA-STORAGE SYSTEM Filed Feb. 23. 1961 8 Sheets-Sheet 8 f h f ...annuel-. nu

United States Patent O $5,114 DATA-SGRAGE SYSTEM Robert Gunderson, Torrance, Edmund F. Klein, San Pedro, and Pani Higashi, Los Angeles, Calif., assignors to The National Cash Register Company, Dayton, (Ehio, a corporation of Il/laryiand Filed Feb. 2S, 1961, Ser. No. 91,l23 le Claims. (fCl. Edil-Ud) This invention relates to `data-storage means for storage of information or data presented in binary form, and more specically to magnetic data-storage means and the method of operation thereof.

In the digital data-processing and control arts, it is known that data or information represented in binary form as binary digits or bits, may be stored in one or more bistable magnetic elements, the binary digits or bits being commonly represented by the symbols l and corresponding to the two possible remanent states of a bistable magnetic element.

Accordingly, in this mode of data-representation, a "1 is represented by one remanent state of the magnetic element, while a 0 is represented by the opposite remanent state of the element. Extraction or reading out of a binary digit or bit from a magnetic element in which it is stored is then conventionally accomplished by applying a coercive or driving eect in a direction which acts to drive the magnetic element from l to 0, any change in the remanent state of the magnetic element being indicated by means of a sense line disposed in inductive relation thereto. Thus, if the magnetic element is initially in the l state, it will switch to the 0 state and in so doing will induce a potential in the' sense line to indicate a ul" was stored. On the other hand, if the magnetic element is initially in the "G state and no potential will be induced in the sense line, thereby indicating a 0 was stored. In any case, after reading, the magnetic element will be in the il state.

To write into or store a digit in the magnetic element, a coercive or driving elige-ct is then applied in a direction which acts to drive the magnetic elements from G to l if a l is to be stored, and it a G is to be stored, either no driving effect is applied, or else, for engineering reasons, an additional inhibit drive may be provided in the opposite or l to G direction to prevent the magnetic element from changing from its .0 state.

The coercive or driving etliect necessary to drive a bistable magnetic element from either remanent state to the other is of substantially the same magnitude, and in the prior art is commonly produced by contemporaneous passage of respective currents through each of at least two conductors, both of which are disposed in inductive relationship with the magnetic element. in they most commonly known system of selecting a magnetic element for reading, use is made or two separate currents, usually as pulses of brief duration, whose total magnitude with respect to the magnetic element is sui'licient to drive the element from one remanent state to the other, if the magnetic element is not already in the remanent state toward which the drive currents are acting.

ln data-storage systems many storage elements are usually necessary, and when bistable magnetic elements are employed for data-storage, the elements are commonly ferrite cores arranged in arrays of two-dimensional character in which the cores and their respective coils are disposed in rows and columns. A row drive coil and a column drive coil is inductively coupled to each core. The column drive coils of cores in respective columns are connected in series, and likewise the row drive coils of cores in respective rows are connected in series. Selection of a particular core in such an array is then accom- 3,l95,llli Patented duly i3, i365 plished by applying half select currents (that is, currents cach equal to one-half the value required to switch the magnetic element from one remanent state to the other) to the particular row and coluinn drive lines in which the element to be selected is located in the array, each half select current by itself being insufficient to switch a core. Thus, while other magnetic elements in the same row and column of the magnetic element to be selected re'- ceive half select current, the selected magnetic core at the row-column intersection receives full-select current to switch the core to the 0 state, if the core is not already in that state.

As pointed out previously, for reading out the bit or digit stored in a magnetic element, the element is conventionally driven in the "l" to 0 direction; while for writing into the element, it is driven in the 0 to l direction if a l is to be written, and if a 0 is to be Written, either no driving effort is applied or, more usually, an additional inhibi drive is provided in the l to "O" direction to maintain the element in the "0 state. Thus, in the conventional ltwo-dirnensiornal array of cores referred to above, reading is accomplished by applying half select currents in the l to 0 direction to the respective row and column drive lines of a selected core'. A sense coil or line inductively coupled to all cores in the array provides an output signal if the selected core switched, indicating that a l Was stored, and no output signal (or negligible output signal) if the core 4did not switch, indicating that 4a 0 was stored. To eliminate unwanted induced signals (noise) resulting from transients or half selected cores, the sense line is ordinarily coupled to the cores in the array so that noise from partially selected cores cancel out, thereby making the induced pulse occurring when -a selected core is switched clearly dominant and easily recognizable.

In writing into a selected core of this conventional twodimensional array (which generally immediately follows reading out of the same core), half select currents are again applied to the row and column drive lines of the selected core, but this time in the O to "1 direction. An inhibit coil or line is conventionally provided inductively coupled to all the cores of the `array and, it a 0 is -to be written into the selected core, the inhibit line is energized with half select current in the l to 0 direction to inhibit the writing of a l into the selected core-that is,

to keep the core in the 0 state and eiectively store a 0 therein. On the other hand, if a "1 is to be written into the selected core, the inhibit line remains unenergized permitting the lia-lf select currents appiied to the row and column drive lines ot the selected core to switch the selected core to the 1" state and thereby effectively store a "1 therein.

in order to permit many cores to be read out of or written into at one time (that is, in parallel), a plurality of these two-dimensional arrays or planes may be stacked to form a three-dimensional array. Usually, only a single drive line is employed for each row or column, and is passed in series through all the cores of corresponding rows and columns in each plane. Thus, during reading and writing, a core having the same row and column coordinates is simultaneously selected. in each two-dimensional array. One sense line is provided for each two-dimensional array, so that during reading, the digit stored in the selected core thereof may be indicated by its respective sense line. Also, an inhibit line is provided for each two-dimensional array, so that during writing, the selected core of each plane may be permitted to switch to its l state to store a "1 or, may be inhibited by half select cur-rent in the l to G direction to remain in the "0 state and thereby store a 0.

Further details of the above-described coincidentcurrent two-dimensional array and its three-dimensional counterpart, as well as other variations thereof, may be found in various publications, such as U.S. Patents 2,691,155, 2,709,248, and 2,736,880 and the publications cited in those patents. Coincident-current selection systems as briefly described above for selecting one or a plurality of magnetic elements or cores in a two or three-dimensional array thereof have found considerable use in the art, chiefly because of the economy and relative simplicity of the decoder and drive circuitry required therefor. However, a coincident-current selection system suffers from a number of disadvantages which prevent or severely limit its use in various applications. In particular, when a coincident-current selection system is employed, a bistable magnetic element must be able to tolerate a half selected 'current without having its magnetic state detrimentally disturbed. Ihis requirement is necessary because, -as indicated previously, unselected cores in the selected row -or column each receive a half select current when the selected magnetic element at the selected row-column intersection is receiving the f-ull select current necessary to switch the element from one state to the other. lf the hysteresis .loop of each magnetic element were ideal (that is, perfectly square), and also uniform for a plurality of elements, a half select current could safely be applied to an element without fear of unwanted switching of the state of the element, or inducement of unwanted signal voltages -due to any partial switching thereof. Also, it .could then be assured that the same full select current Vwould always be sufficient to switch the selected mag- .y netic element.

Unfortunately, as is well known in the art, hysteresis lloops of known bistable magneticelements are far from ideal or uniform and measures must be taken to insure that selected magnetic elements reliably switch, while .unselected magnetic elements do not switch or introduce deleterious signals into the sense windings used for reading out of the array. Such measures often place severe .restrictions on the drive circuitry as well as on the type and necessary uniformity of the magnetic elements employed. The problem is further complicated by the fact that hysteresis loops of magnetic elements are temperature sensitive, a change of about 0.35% per degree centigrade in the width of a hysteresis loop of a ferrite core being typical. It will be appreciated, therefore, that where operation over a ywide temperature range is required, the temperature sensitivity of such magnetic elements could severely affect the reliability of a coincidentcurrent selection system, which provides only a 2 to l ratio between the driving effort applied to selected and unselected cores. y

Another problem with coincident-current selection systems, particularly in three-dimensional arrays, arises because of the large number of cores through which a column or row drive line may be required to pass in an array of reasonable size. In such a situation, the

.back-voltage generated by the linear inductance of the line and the half-selected cores on a particular drive line may become appreciable and, as a result, significantly reduce the efliciency of operation of the system, as well as introducing unwanted transients and delays which reduce the speed at which the system may be operated.

Because of these effects occurring when a row or column drive line passes through a large number of cores, it is often necessary to limit the size of an array, or else, take compensating measures in the external circuitry, which may involve considerable increased circuitry or comv plexity.

From the above discusssion, 4it should now be evident that a coincident-current selection system is far from disturbed during the reading operation.

measures which may be provided to improve reliability or overcome the effect of Stringing many cores on a drive line may result in increased complexity in the external circuitry, which greatly detracts from the basic economy and simplicity of the system. ,y

One way of obviating the above indicated short-comings of a coincident-current selection system involves the use of a direct selection system in which only those magnetic elements or cores which are to be read out in parallel are A predetermined group of digits or bits is commonly referred to as a vt/ord, and in a direct selection system, the group of bits `or digits read out in parallel may beV considered as such a wor-d. The magnetic elements are cores making up a word are threaded by a common drive line which passes only through these cores and no others. Thus, a drive line is provided for each word in the array and the plurality of cores which store the digits of a selected word may be read out in parallel by providing full-select current through the drive line corresponding to that word, drive lines of other words remaining unenergized. Thus, cores storing digits `or bits of unselected words receive no select current at all during reading.

However, -to permit writing into each of the cores of a selected word in an array using such a direct selection reading system, it is necessary to revert to a coincidentcurrent arrangement in which an enable coil or line is passed in series through magnetic cores corresponding to like digit or bit positions of each word in the array; that is, a first enable line passesV inV series only through those cores corresponding to the first bit-or digit position of each word in the array, a second enable line passes in series only through the cores corresponding to the second bit or digit Vposition of each word in the array, and so on,'one enable line being provided for each corresponding bit or digit position of the words in the array. To write into the cores of a Vselected word, a typical coincident-current arrangement is then employed in which the drive lines passing through the cores of each word and the enable lines passing through corresponding bit or Vdigit positions of the words in the array may be used as row and column drive lines, as in a conventional coincident-current selection system. A l or 0 may then be written into each core of a selected word by applying half select current to the drive line corresponding to the selected Word in the array and simultaneously ap- Aplying half select current only to those enable lines corresponding to bit or digit positions in which a 1 is to be written.

In the type of direct selection system just described, the

decoder and drive Ycircuitry required therefor will necessarily be more complex, since in such a system part of the burden of selection is shifted from the array to external circuitry. However, the system offers significant advantages in that, because only selected cores are disturbed during the reading operation, there will be no partially selected cores to induce unwanted signals or vnoise into the sense lines (which may be provided for Veach bit position in a manner similar to theenable lines). ,The noise problem, therefore, will be substantially eliminated.

Also, since only those cores which are to be read out are energized during the reading opera-tion, the number of cores driven in series is greatly reduced and a large reading drive current may be employed to speed up the reading operation and definitely assure that suicient current will be available to read out of the cores lunderall operating conditi-ons.

However, since coincident-current selection employing half select currents is used for writing, a ratio of only 2 to 1 between selected and unselected cores still has to be reckoned with and, as in a conventional coincident-current selection system,

Vwill require a careful choice of magnetic elements and drive circuitry. Further, because the reading and writing operations are not uniform (that is, current-s of different magnitude as well as direction are required for the drive and enable lines during reading and writing), the drive and enable circuitry becomes accordingly more complex, since the nonuniforrnity of operation required thereof makes standardization most diflicult and the use of the same circuitry during reading and writing becomes impractical, if not impossible.

A novel type of selection system which improves over the basic type of direct selection system described above is disclosed in the commonly assigned, co-pending patent application, Serial No. 796,892, iiled March 3, 1959, and now US. Patent No. 3,134,965 in the name of Donal A. Meier', for a Magnetic Data-Storage Device and Matrix, this novel selection system being described most particularly on pages 25-28 thereof. In this version of a direct selection system, thin-film rod-type magnetic elements are employed in the array, but obviously, conventional types of magnetic cores may also be used. Also, drive lines and enable lines are employed in a manner similar to the direct selection system described above. In addition, a bias `line is employed to provide 1/3 read select current bias for all the magnetic elements of the array. During reading a 2/3 read select current is passed through a selected drive line which contains only those magnetic elements constituting the word whose digits are to be read out of the array in parallel, all other drive lines in the array remaining unenergized. Thus, the magnetic elements of a word to be read out of the array receive full select current (2/3 read select current from the drive line plus 1/3 read select bias current), while the remaining cores of other words in the array receive only the 1/3 read select current bias. A 3 to 1 ratio between the currents applied to selected and unselected magnetic elements is thereby achieved during the reading operation.

During Writing, a 2/5 write select current is passed through the drive line containing the magnetic elements of the Word in the array whose digits are to be Written into, all other drive lines remaining unenergized. Simultaneously, 2/ write select current is passed only through those enable lines which are coupled to magnetic elements of the word into which a 1 is to be written. Each magnetic element of the selected word Whose enable line is so energized thereby receives a 2/3 write select current from its enable line to overcome the 1/3 read lselect bias and provide a resultant drive of 1/3 write select current, which adds to the ZA write select current from the drive line to provide the full (or Write select current required to switch the magnetic element to the l state. If a 0 is to be Written into a magnetic element -of the selected word, the enable line corresponding thereto is not energized so that the 1/6 read select bias current subtracts from the 2/3 write select current in its drive line to provide a resultant drive of only 1/3 Write select current, which is insufficient to change the state of the element, and the element .remains in its 0 state.

From the above description of the novel selection system disclosed in the aforementioned patent application, it will be apparent that a system is achieved in which the ratio between the currents through selected and unselected magnetic elements is 3 to l for both reading and writing operations, as compared with the 2 to 1 ratio obtained in a coincident-current selection system. Thus, the novel selection system of the aforementioned copending patent application is significantly superior to that of the rst described direct selection system with regard to the important problem of tolerances in the magnetic elements and drive circuitry, since a 3 to 1 ratio between currents through selected and unselected magnetic elements is achieved during both reading and writing, while the iirst system provides a ratio of only 2 to 1 during writing. Also, increased uniformity is possible in the novel system of the aforementioned copending patent application, because the current through the drive line of the selected word will be the same (eX- cept for direction) during both reading and writing.

And, because of the 3 to l ratio between currents iiowing through selected and unselected elements, noise resulting from 1/s partially selected elements will still be very much smaller than in a coincident-current selection system.

While both versions of a direct selection system described above oier important advantages over a coincident-current selection system, these advantages are realized only at the expense of inherently larger decoding and driving circuitry made necessary because some of the burden of selection is shifted from the magnetic element array to external circuitry. Thus, although a direct selection system oifers many advantages over a coincidentcurrent selection system as indicated above, the inherently more complicated drive and decoder circuitry required thereby limits its use to applications where extreme reliability is required, or where a widely varying operating environment is involved, or Where the more complicated drive and decoder circuitry required is not prohibitive.

Because of the superiority of performance of a direct selection system over a coincident-current selection systern, such as the version described in the aforementioned co-pending patent application, it would be most advantageous to be able to provide a system which retains the high ratio between drive currents applied to selected and unseiected magnetic elements, While at the same time signiiicantly decreasing the required complexity of the external circuitry, particularly the number of drivers and drive lines required for an array of magnetic elements of a given word capacity. In accordance with the present invention this result is advantageously achieved using a magnetic data-storage system which combines the economy of coincident-current selection with the advantages of direct selection to provide a resulting system which retains many of the advantages of both systems but eliminates the severe disadvantages of both.

Briefly, the magnetic data-storage system of the present invention may be similar to the basic functional arrangement disclosed in the aforementioned commonly assigned co-pending patent application, but with important changes in circuitry and mode of operation, whereby the enable lines are not only employed during Writing as in prior art systems, but by the addition of relatively simple decoder circuitry therefor, serve to significantly reduce the burden of decoding required for the read and write drive lines. In particular, an important feature of the present invention is the provision of a magnetic element array having a plurality of Words on each row thereof, which operates in combination with decoder circuitry provided for both the drive and enable lines of the array, to permit one of the plurality of words on the selected row to be accessed for reading and writing while the other Words on the row remain essentially undistured. A very substantial. savings in decoder and drive circuitry is thereby made possible, and at the same time, by means of the present invention, the high 3 to l ratio between the coercive effect applied to selected and unselected magnetic elements in the array is maintained for both reading and Writing operations. For example, if four Words are provided on a single row, the number of drive lines and associated decoder and drive circuitry is reduced by one-fourth, and only a relatively small proportionate increase in enable logic and decoder circuitry is required. It will thus be appreciated that, because the present invention achieves many of the irnportant features of a direct selection system at a great savings in circuitry, it thereby becomes possible to extend the advantages heretofore obtainable only by means of a complicated and expensive direct selection system to applications even where economy of decoder and drive circuitry is an important objective. In fact, considering the measures which must be taken to insure high reliability in a coincident-current selection system in a Widely varying environment, the system of the present invention may in some cases actually provide greater economy of circuitry for such an environment, in addition to providing the improved decoding and driving means are provided incorporating a plurality of magnetic decoder cores and transistor Vdrive circuitry in a novel manner which achieves high reliability switch core decoding, while at the same time permitting the location of an address in the magnetic element array to be conveniently retained throughout the memory cycle, even though other circuitry (such as an address register) is changed in preparation for the next read-write memory cycle.

It is, therefore, an object of this invention to provide a novel data-storage system of the character hereinbefore briefly described.

Another object of the invention is to provide an irnproved data-storage system offering significant advantages over prior art systems.

Still another object of this invention is to provide an improved method of operating a magnetic element array.

Yet another object of the invention is to provide a data-storage system which provides high reliability, high efficiency, and low noise operation with a minimum of external decoding and driving circuitry.

A further object of t-his invention is tot provide an improved data-storage system including a magnetic element array, in which the ratio between currents applied to selected and unselected magnetic elements inV the array is at least 3 to lduring both reading and writing operations.

A still further object of this ,invention is to provide a magnetic data-storage system including a magnetic element array having a plurality of words on each row thereof, and decoder and drive circuitry operating 1n cooperation therewith for selecting one of the plurality of words on a given row, while other words on the row as well as all other words in the array remain essentially undisturbed.

Another object lof the invention is to provide an improved magnetic decoder core arrangement operating in cooperation with read and write transistor drive circuitry for selecting a predetermined plurality of elements in a magnetic element array.

Another object of the invention is to provide an improved method for addressing and decodingvdata stored -in a magnetic element array.

Another object of this invention is to provide an improved enable driver for .applying current to selected enable lines of a magnetic element array.

Other objects, uses, and advantages of the invention will become apparent from the following description and the Vaccompanying drawings in which:

FIG. l is a block diagram of a typical embodiment of a data-storage system in accordance with the invention;

FIG. la is a block diagram illustrating the generation of timing pulses for the system of FIG. 1.;

FIG. 2 is a schematic diagram of a portion of t-he memory core array 150 of FIG. 1 illustrating how a particular bit or digit of a selected word is read out, and written into, while correspondingly positioned cores of unselected words on the same row are inhibited from reading and writing;

FIG. 3 is a schematic diagram of a portion of the memory core array 15) of FIG. 1 illustrating how a typical sense winding may be provided to permit reading out of a core of a selected word inthe array; Y

FIG. 4 is a series of graphs illustrating typical timing relationships in the data-storage system of FIG. 1;

FIG. 5 is .a block and circuit diagram of a preferred embodiment lof the `clecorder illustrated in block for in the system of FIG. l',

lFIG. 5a is -a `detailed diagram of a typical decoder core es of FIG. 5;

FIG. 6 is a graph of a typical hysteresis loop of a de- -coder core of the preferred decoder 2'5 of FIG. 5,

` employed in the system of FIG. 1.

Like numerals denote like elements throughout the :figures of thedrawing.

Memory core array of FIG. 1 and mode of operation thereof Referringl now to FIG. 1, which is a block diagram of a typical magnetic data-storage system in accordance with the invention, a memory core array 150 is provided along withasso'ciated decoding and driving circuitry therefor. The ymemory core arr-ay 150 may typically comprise 1130,00() ferrite cores arranged in 2500 rows of 52 cores Veach. Each of the 2500 rows includes one read drive line and one writ-e drive line ypassing through all the 52 cores in the row, so tha-t one pair of read-write drive lines is provided for each of the 2500 rows in the array 15G. The 52 cores on each row constitute four 12-bit words (a core `serving as one bit) and an additional 13th cor-e is lprovided for each word as -a .parity or check bit. A total capacity of ten thousand 12-bit 'words plus `a check bit `for each word is thus provided convenience of illustration and any other desired mounting Varrange-ment may be employed therefor. Also, it is to be understood that other magnetic storage elements may be used instead of ferrite cores, such as the thin tilm rod-type magnetic elementsV disclosed in the aforementioned commonly'assigned patent application, S.N. 796,# S92. It will further be noted that only a single line is shown passing through a core corresponding to a particular winding thereof. While such a single line ordinarily represents `a one-turn winding, it will be understood that windings with more than one` turn may be provided for each core if so desired, and for the purposes of this description, such lines passing through a core in the various figures of the drawing will be considere-d to represent any desired number of turns as may be necessary Y and the second subscript indicating the number of the particular row in the group. Thus, the designation G1 1 refers to the first row in the -iirst group of 50 rows G1, the designation G2 1 refers to the iirst row in the second I group of 50 rows G2, the designation G5051, refers to fthe iiftieth row in the liftieth group of 50 rows G50, and so on, .as indicated in FIG. 1. Each row includes one read drive line yand one write drive -line which, as shown in FIG. l, are given the same subscript designation as the row except that the letter R is used for a read drive line and the letter W is used for a write drive line. 7 OV For example, R1 50 `and W1 511 would represent respectively the read and write drive lines lof the iiftieth row G1 50 in the iirst group of 50 rows G1.

- are divided into 13 section-s, each section representing one of the 13 bit positions B1 B13 4of the four words on each row of the grou-p, each section being designated by its respective group number and bit position. For example, the designation G1B1 represents the rst bit position section B1 of the :first group G1, the designation G511B13 represents the thirteenth bit position section B13 of the fiftieth group G50, and so on. Each bit position section includes those four cores in each row Iwhich respectively correspond to the same predetermined bit position of eac-h of the four words making up lthe row. For example, considering the iittieth row G1 50 in the rst group G1 of the array 150, the four cores 1S, 15', 15", and 15 in bit position section G1131 store respectively the irst bit of each of the first, second, third, and fourth Words in row G1 50; that is, the core 15 stores the first bit of the first word on row G1 51 the core 15' stores the first bit of the second word on row G1 511, the core 15 stores the tir-st bit of the third word on row G1 50, and the core 15" stores the hrst bit of the fourth word on row G1 50. As indicated in FlG. 1 there are 13 such bit position sections which may be arranged in alike manner, the first 12 bit position sections B1-B12V respectively storing the 12 bits of each of the four words on a given row, as illustrated for row G1 50 of the section G1B1, and the 13th bit position section B13 storing the parity or check bit corresponding to each oi the four words in the row.

In addition to the 2500 pairs of read and write drive llDES R1 1P\50 5D and VJ1 1-W50 50 VVlll-.Ch pass hrOugho respective rows of the array 151i, 52 enable lines are also provided passing through respective columns of cores in the array, one enable line passing through each of the 52 columns of cores, such as illustrated by enable lines 14 and 17 in Fl-G. 1. Specically, each enable line passes through a column of cores storing corresponding bits in the tour words on each row of the array. For example: the enable line 14 in FIG. 1 passes thr-ough the rst column of cores in the array 159, each core in the rst column storing the iirst bit of the first word on its respective row; the enable line 17 passes through the second column of cores in the array, each core in the second column storing the rst bit of the second Word in its respective row; and so on, until the enable line 19 is reached which passes through the last or 52nd column of cores in the array 150, each core in the last column storing the thirteenth or check bit of the ourth word of its respective row.

The mode of operation o the memory array 151i of FlG. 1, by means of which reading out of or writing into the Icores of a selected one oi the 10,000 words in the array is accomplished, will now be explained using the schematic diagram ot FG. 2, which illustrates the lirst bit position section G1B1 of the tirst group G1. The mode of operation for only one bit position section of a typical group :is illustrated in FIG. 2, but it is to be understood that the operation for the other bit positions of the group may be identical, and operation at all bit positions B1 B13 may .advantageously be accomplished simultaneously.

For purposes of this explanation it will be assumed that the cores of the particular word selected to be read out of and written into the array 1S@ or" FlG. l is the rst word of the iiitieth roW G 150 of group G1. The particular core in illustrative bit position section G1B1 of FIG. 2, se lected to be read out and written into is thus core 15, which stores the rst bit of the selected wond. For purposes of clarity the solid arrows in FEG. 2 have been used to represent the llow of current in the enable and read drive lines during reading out from core 15, while the dotted arrows have been used to represent the flow of current in the enable and write drive lines dur-ing Writing into core 15.

First, considering the reading operation and the solid arrows in FIG. 2, it will be seen that a current of 2I/ 3 (where I is equal to full read select current) is caused to dow only through read drive line R1 5 of row G1 50 containing the selected word, the write drive lineof row G1 50 and both the read and write drive lines of all other rows in the array 1S@ receiving no current. Also, simu-- taneously with the application of the current of 2I/3 to the read drive line R1 50 of row G1 50, a current of I/ 3 -is caused to ilow in enable line 1d, which passes through the iirst bit position cores of the first word in each row, and thus through core 15 of the selected word, while a current -I/ 3 (the minus sign indicating current in the opposite or Write direction) is caused to iiow in each of the enable lines passing through the iirst bit positions cores of the second, third, and fourth words in each row, and thus through the respective Arst bit position cores 15', 1S, and 15 of the three unselected words on row G1 50. As a result, first bit position core 11S of the selected word on row G1 50 .receives a current of 21/3 from its read drive line R() plus another I/ 3 from its enable line 14 to provide a total current equal to 31/3, or full read select current I, which causes the core 15 to switch from the 1 to the 0 state if the core 15 stores a 1, or to remain in the 0 state if the core 15 stores a 0.

The other irst bit position cores 15', 1S", and 15" on row G1 50 also receive a current of 21/3 from the read drive line R1 50, but the current of-I/3 flowing in their respective enable lines subtracts from the 21/3 Current in the read drive line R1 50, resulting in an effective current applied to these cores of only I/ 3 or 1/ 3 read select current, which is clearly insulicient to cause switching. The stored bits in these unselected cores 15', 15", and 15' on row G1 1 will thus remain essentially undisturbed` Also, since a current of only I/ 3 or -I/3 ows in the enable lines, the maximum current in any core not 0n row G1 1 will be I/ 3 or 3 as a result of enable line current iiowing therethrough, which again is clearly insuicient to provide switching.

The above operation illustrated for cores 15', 15', 15", and 15 of bit position B1 of row G1 50 occurs simultaneously for all the other bit positions B2 13. Consequently, during the reading operation, only the cores of the selected one of four words on the selected row G1 50 receive full read select current, while cores of unselected Words on row G1 1 receive only 1/3 select current as do all the other cores of the array 150. It should be apparent, therefore, that during the reading operation, the desired high ratio of 3 to 1 between currents applied to selected and unselected cores is achieved.

Since only one core in each of the 13 bits positions in the array is capable of receiving full read select current during the reading operation, only one sense line need be provided for each bit position in order .to permit the data stored in the selected core of that bit position to be read out of the array 151i. No sense lines are shown in the array 151) of FIG. 1 or in FIG. 2 for purposes of clarity; however, a typical sense line is diagrammatically illustrated in FlG. 3 for bit position 1 of groups G1 and G2, and in FIG. 3 it is the read and write drive lines which are now omitted for purposes of clairty. As will be evident from FIG. 3, the sense line passes in series through all the cores in the array located in the bit position corresponding thereto, and following the usual practice, the signal induced in the sense line when a core is switched from "1 to 0 is used to indicate that a 1 was stored in the selected core. A sense amplifier is provided for each sense line lin a conventional manner, such as generally illustrated in FIG. 3 by the block S1 for the bit 1 sense amplifier.

Considering the sense line further, it will be appreciated by those skilled in the art, that it is most desirable for the sense line to be wound cancelling so that noise from partially selected cores cancel out as far as possible. One such winding arrangement is shown in FIG. 3 in which the sense line is wound through the -cores in each group, such as illustrated for groups G1 and G2, so that for` any four cores on a given row in the same bit position, the sense line passes in the same direction through two of the cores and in the opposite direction through the other ll two cores. Thus, noise or unwanted signals induced in the sense line` from 1/3 partiallyl selected cores on the same row as the selected coresl will produce an effect in theV sense line which is no greater than that obtained from a single one of the 1/3 partially selected cores, since the signals induced in two of the three partially selected cores will always cancel each other out.

Also, as indicated in FlG. 3 for bit position 1, each bitV partially selected cores in odd numbered groups will be approximately cancelled out by opposite polarity signals induced in the sense line from l/ 3 partially selected cores in even numbered groups. Obviously, kother sense line winding arrangements could be employed besides that illustrated in FIG. 3, and the invention is not to be considered as being limited to any particular sense winding arrangement. Y

As shown in FIG. l, 13 sense amplifiers S1-S13 are provided, one for each of the 13 bit position sense lines. The sense amplifiers SVSH are constructed in any of a numberedof well known forms to amplify sense signals of either polarity received from their respective sense lines, whileV providing amplified output signals of the same polarity, Vregardless of the input polarity of the sense line signals. This type of sense amplifier is desirable, because in the sense winding arrangement employed, a signal induced in a sense line during read out in response to the presence of a l in the selected bit position core may be of either polarity.

Referring again to FlG. l, it will be seen that the 13 sense ampliers S31-S13 feed respective ones of 13 gates P1-P13, which in turn feed respective ones of 13 memory register ilipaops Nil-M13. A- strobe timing pulse ES (FIG. la) triggers a strobe generator 25 (FIG. l) which opens the gates P1-P13 for a predetermined time during the read portion of the memory cycle to permit the 13 bits of a -selected word, represented by the absence or presence of output signals at the outputs of each of the 13 sense amplifiers, to be stored in respective ones of the 13 memory register flip-flops MV1-M13. The arrow feeding the memory register flip-hops Mil-M13 represents any type of well known means Vfor clearing or setting which may be provided in accordance with the operation .of a computer. Y

Now, returning to FIG. 2, itV will be explained how binary data (that is, either a l or a can be written into first bit position core 15, which was readout during the reading operation (and is thus now in the O state) vwhile cores of unselected words again remain essentially undisturbed. Referring to the dotted arrows in FIG. 2, which represent current flowing during the writing operation, it will be seen that a current of -2I/ 3 (that is, 2/ 3 write select current) is caused to flow only through write Adrive line W1 50 of row G1 50 containing the selected Words; the read driveV line R1 50 of Vrow G1 59 and bothy 1the read and write drive lines of other rows in the array 150 receive no current. lf a l is to be writteninto core 15, a current 'ofl I/ 3 is simultaneously caused to ow in enable line 14 passing therethrough, so as to add Vto the current of -21/ 3 in the write drive line W1 50 of lrow G1 50, and thereby provide the full write select current required to switch core 15 to the ,l state. However,

if a 0 is to be written into core 15, a current in the op- Y Vposite direction, or I/ 3, is caused to flow in enable line 14 4which subtracts from the current of -21/ 3 in write drive'1ineW1 50 to provide a resultant current of only -1/ 3', thereby maintaining core 15 in the O state it was left in after read-out therefrom.

Similar to that provided for core 15 if a 0 is to be stored therein, the other first bit position cores i5', 15, and 15"', corresponding to the three unselected words on row G1 '50, each receive a current of I/,3 from their respective enable line, which subtracts from the current of -2I/ 3 in write drive line W1 5D to provide a resultant current applied to each'unselected core of only -I/ 3, so that these cores 15', 15, and 15" remain essentially undisturbed.` It will be seen, therefore, that during the write portion of the cycle the cores 15', 115, and 15 of the unselected words are fed the same enable current as core 15 of the selected Word where a O is to be written therein. However, the result is different in that core 15 remains in the O state in which it was left after readout therefrom, while unselected cores l5', 15", and 15 remain undisturbed with whatever bits are stored therein, since these Vunselected cores were not read out from during the reading operation.

In the same manneras described above for bit position B1, operation in each of the other l2 bit positions B2-B13 on the selected row G1 50 is such that duringthe write portion of the cycle only the core corresponding to the selected word on the row lin which a l is to be written receives a current of -I/3 to add to the current of -2I/ 3 in the write drive line W1 50 and thereby switch the core from the 0 to l state. All other cores on the selected row receive a current of I/ 3 which subtracts from the write drive line current of 21/ 3 to provide a resultant applied current of only -vI/ 3, thereby effectively maintaining inthe -0 state those cores of the selected Word in which a O is to be written, while at the same time maintaining the-cores of unselected words on the selected row essentially undisturbed; Also, 4as was the'case during the reading operation, only 1/ 3 select current flows in the cores in the array 15u which are not on the selected row G1 50 as a result of a current of either I/ 3 or -I/ 3 flowing in each enable line. Thus, as during the reading operation, the desired high ratio of 3 to l between currents applied to selected and unselected cores is again achieved during the writing operation.

It will be noted in the mode' of operation of the array just described, that the same magnitude enable current (l/3 or -I/3) and the same magnitude drive current (21/ 3 or -21/ 3) flows during both reading andvwriting operations, which is most desirable from a uniformity standpoint as previously pointed outY herein.

However, `the most important advantage which has been achieved by the array 15b andthe mode of operation thereof just described is that the number of rows required to be selected for this 10,000 word array is only one-fourth or 2500 rows as compared to the 10,000 rows which are required to be selected in other types of direct selection systems with equivalent word capacity, such as werebriefly `described previously. As will hereinafter become evident when a typical embodiment of roW selection drive circuitry is described, this very substantial reduction in the number of rows required to be selected makespossible a corresponding reduction in the decoder and drive circuitry required for the array, thereby making 4possible substantial savings both in the size and expense of a data-storage system in which this mode of operation 'is employed. VAnd yet, these savings are realized while maintaining the desired high ratio of 3 to 1 between currents applied to selected and unselected cores in the array durmg both reading and writing operations.

Of course, while thev number of rows required is reduced in accordance with the number of words on each row, it will be noted that additional enable lines and drive circuitry will be required for the three additional words on each row (as compared to one Word on each row in relatedprior art systems). Also, since part of "thedecoding has vbeen shifted from the read and Write lines of the rows tothe enable lines, additional enable decoder circuitry will be required for selecting the direction of llow of the 1/ 3 select current in the 52 enable lines so as to permit the desired one of four words on a given row to be accessed. However, as will hereinafter become apparent, this additional circuitry required is quite small when compared to the relatively greater drive and decoder circuitry required in related prior art direct selection systems. For example, in the array iSG of FiG. 1, an additional 39 enable lines are required instead of 13 as would be required in an equivalent prior art direct selection system having only one word on each row, but only 2500 rows are required to be selected in the array 150 as compared to 10,000 rows in the equivalent prior art system, a savings of 7500 rows; and inherently, an additional row requires more complex external circuitry than an additional enable line.

It will be appreciated by those skilled in the art that the invention is not limited to the use of four words on each row as illustrated in the array 156 of FEiG. 1, and any other convenient plurality of words may be employed. Also, the particular physical arrangement of the cores in the array 150 is only illustrative, and any other physical arrangement could be employed which provides equivalent functional performance. It is to be understood, therefore, that it is the functional arrangement of the elements so as to be driven in rows and columns which is important, and not the physical rowcolumn arrangement, since physically the elements may be arranged in a wide variety of forms.

Still further, it will be appreciated that a single dual purpose drive line could be employed in place of the separate read and write drive lines provided for each row of the array 150, in which case 2/ 3 select current would liow therethrough in one direction for reading, and in the opposite direction for writing. In the specic embodimeut of the present invention it has been found more convenient in view of the drive circuitry employed therewith to use two drive lines, one for reading and one for writing, but by `suitable choice of drive circuitry, a single drive line could be used if so desired.

Selection of a particular one of the 2500 rows` in the 'in the army 150 of FIG. I

Referring to the block diagram of FIG. l, it will first be explained how a particular one of the 2500 rows in the array 150, namely row G1 50 of group G1, is selected whereby currents of 2I/3 and 2l/3 are caused to ow in lthe read and write drive lines thereof during respective read and write portions of a memory cycle. Since 2/ 3 select current is to be applied only to the drive lines of the selected row, while drive lines of other rows in the array will receive no current, such a mode of operation as far as the rows are concerned is a form of direct selection.

A particularly desirable form of direct selection of the 2500 rows in the arra commonly referred to as linear selection, is illustrated in the block diagram of FIG. l. In such an arrangement a first group of 50 read drivers lll-R50 is provided on the left side of the array i' in FIG. 1, the output of each of the read drivers RDR@ being connected to the left ends of the 50 drive lines of the group of 50 groups G1G50 in the array having the same subscript. For example, the output of read driver vR1 is connected to the left ends of the 50 read drive lines R1 1R1 50 of group G1, the output of read driver R2 is connected to the left ends of the 50 read drive lines R2 1- R2 5Q of group G2, and so on, to the liftieth read driver R50 whose output is connecetd to the left ends of the 50 read drive lines R50 1-R5U 50 of group 50.

At the right .side of the array 150 in FIG. l, a second vgroup of 50 read drivers Rl-Rm is provided, the output of each of these read drivers R1-R'50 being connected to the right ends of the 50 correspondingly positioned read drives lines in the groups G1G50 of the array through a respective diode 23 in each read drive line poled in the direction of ilow of read current, the diodes 23 being rovided to prevent the ilow of sneak currents as will hereinafter be described. For example, the output of read driver Rl is connected through a diode 23 to the right end of the first read drive line in each group, (that is, R14, R2 1, R50 1), the output of read driver R'2 is connected through a diode 23 to the right end of the second read drive line in each group (that is, R1 2, R2 2 R50 2), and so on, to the iiftieth read driver Ri-,Q whose output is connected through a diode 23 to the right end of the ftieth read drive line in the iftieth row of each group (that is, R1 5D, R2 50 R50 50).

In a similar manner to that just described for read driver-s lll-R59 and Rl-RM, write drivers W1-W50 and W1-W50 are provided respectively connected to opposite ends of the write drive lines W1 1-W5D 50 inthe array 150; that is, each of the write drivers W1-W50 at the left side of the array is connected to the left'ends of the 50 write drive lines of the group having the same subscript, while each of the write drivers Wl-W'So at the right side of the array is connected to the right end of the 50 correspondingly positioned write drive lines in the group of the array. And for the same reason as provided for the read drive lines, a diode t3 poled in the direction of write current flow is interposed in each write drive line to prevent current tlow from sneak paths. Obviously, the diodes 23 and 13 could be interposed at either end of their respective read and Write drive lines and are shown at opposite ends in FIG. l merely for convenience.

A decoder 25' at the left side of the array 150 in FIG. l, in response to a decoder timing pulse ED and in accordance with the settings of seven address register flipiiops L-Lfi and Ld-LS applied thereto, activates one of the 50 read drivers SR1-R50 during the read portion of a memory cycle, and a corresponding one of the 50 write drivers Wl-Wo during the write portion of a memory cycle. In a like manner, a decoder at the right side of the array, in response to the decoder timing pulse ED and in accordance with the settings of another seven address register flip-flops L10-L12; and L1B-L16, activates one of the 50 read drivers R1-R50 during the read portion of a memory cycle, and a corresponding one of the 50 write `drivers Wl-W5g during lthe write portion of a memory cycle. A decoder timing pulse ED applied to the decoders 25 and lll/25' triggers the operation of these decoders whereby corresponding read and write drivers are activated by each decoder `in accordance with the settings of the address register ip-iiops applied thereto. Also, the arrows shown feeding the address register dip-flop are intended to generally desingate any of a number of well known means in a computer which may be employed for setting and clearing each address register flip-dop.

A read current source 22 having a read dummy 20 connected thereacross feeds the read drivers Rl-Rso, and in a like manner, a write current source 2? having a write dummy 30 connected thereacross feeds the write drivers W-WEU. The read and write dummies 20 and 30 effectiveiy serve to short out their respective read and write current sources 22 and 2S in the absence of read and write tirning pulses ERD and EWD respectively applied thereto. When a read dummy timing pulse is applied to the read dummy 20 during the read portion of the memory cycle, the read current source 22 is unshorted, perrnitting ZI/ 3 (that is, 2/3 read select current) to flow to the selected one of the 50 read drivers Iii-R50 which has been activated by the decoder 2S. Similarly, when a write dummy timing pulse EWD is applied to the write dummy liti during the write portion of the memory cycle, the write current source 23 is unshorted, permitting a current of -21/ 3 (that is, 2/3 write select current) to ow to the selected one of 50 write drivers W1-W50 which has been activated by the decoder 125.

Now assuming that the one word of the array to be accessed is on row G1 50, the address register flip-Hops L11-L4 and Ld-LS feeding the decoder 25 and the adl dress register fiip-flops L-L12 and IAS-L16 feeding the vdecoder 125 would be set so that during the read portion of the memory cycle decoder 25 activates read lected and driven to permit the cores of the selected word o on the selected row G1 50 to receive0 full select current driver R1 and decoder 125 activates read driver R50.

Since read driver R1 connects the left end of all the read drive lines ingroup G1, namely R1 1, R1 2 R1 5'0, and read driver R51, connects, through a diode 23 in each line, the right end of the ftieth read drive-line in each gIGup, namely, R1 50, R2 50 R50 50, the 011 of the 2500 read drive lines in the array having read drivers activated at both ends thereof will be read drive line R1 50 of row G1 50. Thus, when the read dummy timing pulse ERD is applied to the read dummy during theread portion of the memory cycle, the read current source 22 is unshorted, permitting 2/3 read select current to flow from the read current source 22 through the selected read drive line R1 50 by way of the activated read drivers R1 and R50 at both ends thereof.

In a like manner, during the write portion of the memory cycle, write drivers W1 and W50, corresponding to read drivers R1 and R50, would be activated by decoders 25 and 125, respectively. Then, when the Write dummy timing pulse EWD is applied to the write dummy during the Write portion of the memory cycle, the write current source 2S is unshorted, permitting 2/ 3 Write select current to flow from the write current source 2S through the` selected Write drive line W1 5 by Way of the activated write drivers W1 and W50.

One of theimportant advantages of the linear selection arrangement employed in FIG. 1 to select one of the V2500 rows in the array 150 is that only 50 x 50 or 100 drivers are necessary to decode 2500 drive lines. That is, only 100 read drivers (R1-R50 and R'1-R'50) are required to select the desired one of 2500 read drive lines, and only 100 write drivers (W1-W50 and W'1-W50) are required to select the desired one of 2500 writedrive lines. However, this typeof linear selection arrangement has the disadvantage that many parallel paths exist by means of which sneak currents could flow in unselected drive lines unless a diode such as illustrated by diodes 13 and 2.3 were employed in each read and write drive line to eliminate this possibility. If the diodes 13V and 23 were absent and read drivers R1 and R50 were activated to select read drive line R1 50, it will be seen that other paths of current flow through unselected drive lines would also exist, besides the direct path through the selected read drive line R1 f,0.V For example, one such path would comprise read drive lineR1 1, read drive line R2 1, and read drive line R2 50. By providing the diodes 13 and 23, as shown in FIG. 1, such a path would include the Y back resistance of at least one diode, namely diode 23V in read drive R2 1.

Because many such parallel paths exist, it is important that each of the diodes 13 and 23 have a relatively high parallel paths within tolerable'limits.

isa significant expensein the cost of the system as well as increasing circuit complexity. Thus, it will be appre-V ciated that thereduction made possible by the present yinvention in the number of rows required is a very significant advantage,y since the provision of four Words on each row instead of only one as in prior art systems, makes possible a reduction' in the number of rows required from 10,000 rows in a prior art array of equivalent capacity to only 2500 rowsY in the present invention.

Selection of the enable lines of the array 150 of FIG. 1

durinvreading and `Writing, while cores of unselected words on the selected row G1 50 and other 'cores in the array receive only 1-/ 3 select current, as was described previously in connection with FIG. 2.

Referring to FlG. l, each of the V52 enable lines isy provided with anY enable driver which is capable of passing current therethrough equal to 1/ 3 select current in either one direction or the other. Thus, there Will be 52 enable drivers corresponding to thet52 enable linesv in the array 15u, and these are divided into four` groups of 13 each, designated as enable driver groups E1, E2, E3, and E4. corresponds tol one of the four words on each row ofthe array 150. That is, enable driver group E1 drives the 13 enable lines passing through the 13 cores corresponding to the rst word on each row of the array, enable driver group E2 drives the 13 enable lines Apassing through the 13 cores corresponding to the second word on eachV row, enable driver group E3 drives the l3enable lines passing through the 13 cores corresponding to the third Word on each row, and enable driver group E4 drives the 13 enable lines passing Ythrough the 13 cores corresponding to the fourth Word on each row.

Considering each individual enable driver, the rst subscript thereof indicates the group, and thus the particular word on each row to which that enable driver belongs, and the second subscript thereof indicates the bit Vposition ofthe word on each row whose corresponding enable line is driven thereby. For example, enable driver E24 would be the enable driver which drives enableV line 1-7 passing through the column of cores (including core 15) corresponding to the rst bit of the second Word in each row. It Will be notedrthat each enable driver has two output lines; one output line, -such as indicated by 17,v passes through the column of cores of the bit position of the word to which it corresponds, and the other line, such as indicated by 17', serves as a return line.

Remembering the previous discussion of the mode of operation of the array described in connection with FlG. 2, and again assuming that the first word on the selected row G1 50 is the one to be accessed, the opera-tion Y of the enable drivers will ,now be explained as follows.

back resistance to maintain the cumulative eect of Such f @Gres 0f ih@ TS Wm'd in which a isl S t0 be Written,

Diodes of this type, however, are costly and the requirement therefor,

and 1/ 3 select current in theV opposite direction in those cores of `the first word in whichl a 0 is to be Written. On the other hand, enable drivers E2 1E2 13, E3 1-E3 13,

and E.1 1-E4 13' of Vrespective enable driverV groups E2, E3,

and E1, which drive cores of the unselected second, third, and fourthwords on row G1 50, will supply 1/ 3 select current in a direction opposite tothe 2/ 3 `read select current flowing in read drive line R1 50 during the read portion of the memory cycle to `prevent reading out theretrom, and in a direction opposite to the 2/ 3 Write select currentoowing in write Adrive line W1 50 during the write portion of the memory cycle to prevent Writing.

From the above discussion it will be-evident that means must be provided for controlling the direction of flow of the 1/3 select current provided by each enable driver during read and'write portions of a memory cycle in order` to permit theoselectedone of four Words on a given row to beV accessed While'the Vother three words on the roW remain essentially undisturbed.

-As will 0be understood by those skilled in the art, vari- Each of the four enable driver groups E1-E4 ous means may be provided for this purpose in accordance with present knowledge in the art. Gne such means is generally illustrated in FIG. 1 by the block 75 entitled enable logic decoder which provides a control line to each enable driver for control of the direction of ow of the 1/3 select current provided thereby. Ibis enable logic circuitry 75 is constructed and arranged to logically combine the memory register outputs MTMB and the outputs of two more address register llip-iops L5 and L9 applied thereto along with enable read and write timing pulses ER and EW, so that the direction of ow of the 1/3 select current supplied by each enable driver during read and write portions of the memory cycle is controled in a manner which permits the desired one of the four words on the selected row to be accessed as described previously. FIG. 9 illustrates a preferred form of the enable logic circuitry '75, and will be described in detail further on in this specification.

Description of the operation of the data-storage system of FIG. 1 usi/'2g the timing relationships of FIG. 4

A typical memory cycle will now be described for the data-storage system illustrated in FIG. 1 using the graphs A-L of FIG. The various timing pulses ED, ERD, EWD, ER, EW, and ES illustrated in FIG. 4 and previously referred to in the description of the FiG. 1 embodirnent ray be generated in a nurnber of well known ways. For example, as shown in FIG. la, clock initiating pulses EC from -a clock pulse source 1? are fed to a iemory timing pulse generator 12, which by means of various delay and pulse forming circuitry generates the required timing pulses at its output. It will be appreciated that the clock initiating pulses EC from the clock source lil may also be used as reference pulses for other units of a computer (not shown) operating in cooperation with the data-storage system of FIG. l.

Reteiring now to the graphs of FIG. 4, a typical memory cycle of 6 microseconds is illustrated. Graph A of FIG. 4 illustrates the clock initiating pulse EC obtained at the output of the clock pulse source 10 in FiG. 1a every 6 microseconds. raph A also illustrates, in dashed lines, the appearance of a logical clock pulse EL at 3.5 microseconds in the memory cycle, such as might be provided by a computer with which the data-storage system of FIG. 1 is being used. ln such a typical compute-r, the logic clock pulse EL may be considered to represent that time at which the computer has completed any operations it wished to perform on the word read out of the memory array u in FIG. l, as well as having reset the memory register nip-llops Nil-M13 (FIG. 1) if a new word is to be written back into the array at the same address. Thus, the appearance of the logic clock pulse EL at 3.5 microseconds may conveniently be used to divide the memory cycle into read and write portions as illustrated in graph At this time, it may be pointed out in connection with the graphs of FIG. 4, that the specic timing arrangement and waveforms shown therein are merely exemplary and are not to be considered as limiting the present invention. Also, many of the waveforms shown in the graphs of FIG. 4 are idealized in that rise and decay times and other transient distortions have been eliminated for greater clarity, particularly since such considerations are outside the scope of this invention and are not necessary for a full understanding thereof. In all cases, however, it may be assumed that sulcient time has been provided between operating events to permit any transients to become negligible.

As shown by graph B, at 0.8 microsecond after the appearance of the clock initiating pulse EC, a decoder timing pulse ED is generated by the memory timing pulse generator 12 (FIG. la) and fed to the decoders 25 and 125 (FIG. 1) to initiate the decoding action thereof in accordance with the settings of address registers Ll-Li, L15-LS, Lid-L12, and Ll-Ll. it will be assumed that 18 these address register flip-flops L-Llo are set to the desired address corresponding to the selected word in the array 15? at least by the time O when each memory cycle begins. Also, it will be assumed that ilip-lops Ml-Vll of the memory register are also cleared at the beginning of the memory cycle to permit the selected word to be read out of the array 15d during the read portion of the memory cycle to be stored therein. The delay of 0.8 microsccond between t-he clock initiating pulse EC and the decoder timing pulse ED is provided to permit all transient cliects resulting from these settings or from operations occurring in the previous memory cycle to become negligible.

Again assuming that the selected word in the array 315i) to be accessed is the rst word on row G1 50, the appearance of the decoder timing pulse ED during the read portion of the cycle will then cause decoders 25 and 125' to activate read drivers R1 and P350. Thus, when the read dummy timing pulse ERD shown in graph C is fed to the read dummy 2li) at 1.1 microseconds in the memory cycle to unshort the read current source 22, a 2/3 read select current, indicated at 2I/3 in graph D, will then pass from the read current source 22 through the selected read drive line R1 5 on row G1 5 by way of read drivers Ri 21nd R/50.

Graphs E and F show the enable read and write timing pulses ER and EW provided by the memory timing pulse generator 112 (FIG. la) and fed to the enable logic circuitry 75 for use in cooperation with the outputs of address register dip-flops L5 and L9 and the memory register flip-flop outputs bi1-M13 for controlling the direction of I/ 3 select current flow in the enable drivers during the memory cycle, whereby a selected one oi the four words on the selected row is accessed. The speciiic purpose of these enable timing pulses ER and EW is to tell the enable logic circuitry 7'5 which portion of the memory cycle (that is, read portion or Write portion) is taking place, so that the direction of flow of 1/3 select current in the enable drivers can be controlled accordingly. The logical combination of these enable read and write timing pulses ER and EW with memory register ilip-ilop outputs itil-M13 and the outputs of address registers LS and L9 will be more fully explained in connection with FIG. 9 which illustrates a specific embodiment of the enable logic circuitry 75 of FlG. 1.

Since the address registers L1-L16 are set at least by the time the memory cycle begins, as are the enable timing pulses ER and EW of graphs E and F, the direction of iiow of t-he 1/3 select current in each enable driver for the read portion of the memory cycle is likewise established at the beginning of each memory cycle as illustrated in graphs G and H of FlG. 4. Graph G illustrates the enable current of 1/3 read select current, or I/3, supplied by each of the 13 enable drivers E14-E143 of the enable driver group E1, which drive the cores of the irst or selected word on row G1 50; and graph H illustrates the enable current of 1/ 3 write select current, or *I/3, supplied by each of the 39 enable dYlVCS E2 1E2 13, E3 1E3 13, and E4 1E4 13 Of the respective three enable driver groups E2, E3, and E4, which drive the cores of the three unselected words on TOW G1 5U.

Thus, when the read dummy timing pulse ERD appears at 1.1 microseconds to unshort the read dummy 2t) from across the read current source 28, the 2/3 read select current, or 21/ 3, thereby caused to 110W in read drive line R1 50 of the selected row G1 5 (as indicated in graph D) adds to the 1/ 3 enable current in the cores oi the irst or selected word on row G1 50 to provide the full read select current in each selected core required for read out therefrom; while in cores of unselected words on row Gl 50 the 1/3 enable current applied thereto subtracts from the 2/3 read select current, or 21/3, to provide a resultant current of only 1/3 read aleen-a l@ select current, or I/ 3, thereby maintaining these. unselected cores essentially undisturbed. Since all other cores in the array not on the selected row also receive only 1/ 3 select current, the desired high ratio of 3 to 1 between currents applied to selected and unselected cores is achieved during the reading operation.

Graph I illustrates a typical signal induced in a bit position sense line at approximately 1.8 microseconds in response to the switching of a selected bit position core from a l to a 0, thereby indicating the storage of a l therein. Ot course, if the selected core stored a 0, no switching occurs, the core remains in the state, and there is no signal induced in the bit position sense line.

Each induced sense line signal, for example, a signal induced in the bit 1 sense line as a result of core l5 of the selected word having stored a 0 therein, passes to its respective sense amplifier for amplilication thereof. As shown in graph I, the strobe timing pulse Es supplied byV the memory timing pulse generator 12 (FIG. la) is applied to the strobe generator Z to open gates P1-P13 at about 1.8 microseconds, the peak ci the sense line pulse of graph I, thereby permitting each amplified sense line pulse appearing at the output of its respective sense amplifier to pass to its respective memory register ipiiop to store a l therein; on the other hand, each ampli- `tier whose sense line has no induced pulse will pass no pulse to its respective memory register flip-flop, causing it to remain in the "0" state and store a "0 therein. Thus, upon the appearance of the strobe pulse Es, the seiected word in the array th is set up in the memory register liip-iiops MFL-M13 and trom that time to the computer logic clock pulse EL, a computer may make use of the selected word in the memory register in any desired manner, as indicated by the logic period shown in graph I. When the computer logic clock pulse EL appears, the selectedrword read into the memory register flip-flops hdl-M13 during the read portion of the memory cycle may be retained, or else, in response to logical operations of the computer, a new word may be stored therein to be written back into the same address of the array 150 during the write portion ot the memory cycle.

It may be noted that since the direction of ilow of the l/ 3 select current supplied by each enable driver is established at the beginning of the memory cycle, as shown by graphs G and H, any transients resulting therel from will ordinarily have died out before theread dummy timing .pulse ERD of graph C will have appeared, and thus before the 2/ 3 read select current is applied to the selected row. It will be' understood, therefore, that the only 1/ 3 partially selected cores that could introduce noise into the bit position sense line, are the bit position cores of the unselected words on the selected row. However, as described previously in connection with FIG. 3, bccause the sense line is wound cancelling, the resultant signal induced in the bit position sense from the 1/3 partial switching of the three unselected cores on the same row and bit position as the selected core is no more than that'induced by a single l/3 selected core, which is relatively small as compared to the induced signal obtained in response to the switching of a selected core.

In addition, by positioning the strobe pulse ES of graphy I at the peak of the induced sense line pulse at 1.8 microeconds as shown in graph I, any signal induced in the sense line from 1/ 3 partially selected coresV will have died out to a considerable extent; this is because the induced signal in the sense line from partially selected cores occurs before the main pulse of the fully selected core.

Since it is the presence or the read dummy timing pulse ERD of graph C which unshorts the read dummy 2t) from across the read current source 22, it is this pulse which efrectively controls the duration of low of 2/ 3 read select current through the read drive line AR1 50 of the selected row as indicated in graph D (this assumes of course that the selected read drivers R1 and R350 remain to come to an end and the write portion of the cycle toV Vso n n@ activated at least for the duration of ERD). In order to permit those selected cores storing a l to be fully switched to the 0 state, the read dummy'timing pulse ERD is maintained until 3.2 microseconds in the memory cycle, that is, for a total duration of 2.1 microseconds, which is sutlicient to fully switch a typical ferrite core of the type which might be used in the memory core array 1S@ of FIG. 1.

At the appearance of the leading edge of the logic clock pulse EL at 3.5 microseconds in the memory cycle, the read portion of the memory cycle may be considered begin. It a diiierent word from the one read out of the array and stored in the memory register ip-lops M1- M13 is to be written back into the array 15) (FIG. l) during the write portion of the memoryV cycle, the memory register flip-hops Ml-Ml are set to correspond to the new word at the time the logic clock pulse EL appearsl As shown by graphs G and H of FlG. 4, the required direction of iiow of the 1/ 3 select current supplied by each enable driver during the write portion ot the memory cycle is also established at the appearance of the logic clock pulse EL, the direction of flow in each enable driver being determined in accordance with the memory register outputs Nil-M13 and the outputs of iiip-ops L5 and L9. Thus, as shown in graph (3,' each of the 13 enable drivers E1 1E1 13 of the enable driver group El,

which drive the cores of the selected first word on row G1 50, is caused to supply a current of -I/S (that is, 1/3 Write select current), indicated by the Vsolid line in graph G, if a l is to be written into the selected core corresponding thereto, and a current of I/ 3 (that is, 1/3 read select current), indicated by the dotted line in graph G, if a "0 is to be written therein. On the other hand, as shown in graph H, each of the 39 enable drivers E2 1-E2 13, E3 1E3 13, and E4 1E4 13 Of respective enable driver groups E2, E3, and E4, which drive the cores of the unselected words on row C1 50, are caused to supply a current of 1/ 3 (that is, 1/ 3 read select current).

Consequently, when the decoder timing pulse ED is switched oli at the logic clock pulse EL, causing decoders 25 andV 1.25 to activate read drivers Il and VWM, and the write dummy timing pulse EWD of graph Kvappears at 4.5 microseconds to unshort the write dummy Btl from across the write current source 28, the 2/ 3 Write select current, or -21/3, thereby caused to l'low in the Write drive line W1 50 of the selected row G1 50 (as indicated in graph L) adds to the -I/3 enable current flowing in those cores of the selected first word in which a 1 is to beV written to provide full write select current to switch these cores from the "Of state in which they were lett after read-out therefrom to the l state, and thereby store a "1 therein. Y

On the other hand, the l/ 3 read select current, or IV/3, tlowing in the other cores of the selected word as well as inthe cores of unselected Words on the row, subtracts from'the 2/3 write select current, or -21/3, liowing in the write drive line Vlr/1 5() to provide a resultant current of only -I/B; as a result, cores of the selected word in which a G is to be written remain in the 0 state in which they were left after readout therefrom to thereby store a 0 therein, while the states of cores of unselected words on the row again remain undisturbed as they didV during the read portion of the cycle. Also, all other cores in the array not on the selected row are disturbed by only 1/3 select current iiowing in their respective enable lines. Thus, the desired high ratio of 3 to l between currents applied to selected and unselectcd cores is achieved during the write portion of the cycle as well as during the read portion. Y

Similarly to the read dummy timing pulse ERD, the write dummy timingpulse EWD is caused to .appear at 1.0 microsecond after the beginning of the write portion of .the cycie in order to permit any transients from the 2l read portion of the cycle or from settings made by the logic clocl; pulse EL to decay to a negligible level. Also, tac write dummy timing pulse remains till the end oi the memory cycle at 6.0 microseconds to provide sufcient time to allow those cores in which a "1 is to be written to be fully switched.

Description of cz specific embodiment of the decoder 25 of FlG. l

While various types of circuitry could be employed for the decoders 25 and 125 of FIG. 1, a particularly ativanq tageous decoder has been de'ised which is admirably suited to the lpurposes `and objects of the present invention. Such a decoder is illustrated in FIG for the decoder 25, but as will become apparent, the decoder 125 may be similarly constructed.

Referring to FG. 5, it will be seen that the four address dip-dop Isl-L4 are fed to a rst diode decoder 2?, which may be of conventional form, while the three address flip-deps L6-LS are fed to a second diode decoder 2%, which may also be of conventional form.

The diode decoder 27 provides 10 outputs representing l() of the 16 possible combinations of the states of flipilops L11-L4. These outputs from the decoder 27' are fed to activate one of drivers Dl-Dw in responseto the setting of the address register dip-flops .L1-L4. ln a like manner, the diode decoder 29 provides 5 outputs representing 5 of the 9 possible combinations of ip-llops Le- LS, and these outputs are fed to activate one of ve drivers D'l-D5 in response to the settings of dip-flops Ld-LS.

As shown in FG. 5, the drivers Dl-Bm and D1i)5 are provided to select one of 50 rows of decoder array of 50 deco-der cores by means of linear selection, similar to the manner in which one of the 250G rows of the array 156 of FiG. l is selected, except that each row of decoder has only one decoder core (typically illustrated by the numeral and as will hereinafter be described, ull select current is passed through the drive line (typically illustrated by the numerical 38) of the selected rov/ of decoder 25, instead only 2/ 3 select current, as is passed through the selected row in the array 155i of FG. l, as previously described.

Specifically, the decoder cores and their respective drive lines are arranged in 10 groups of 5 each. T he drive lines 35 are driven at one end by the l0 decoder core drivers DVD, such that each of the drivers Dl-Dm is connected to all the drive lines of a respective one of the 10 groups, while the other ends of drive lines 3S are driven by drivers D1-D'5, through a respective diode 33 in each drive line 3d, such that each of the decoder core drivers Dl-DE, connects a correspondingly positioned drive line 38 in each of the 1l) groups of decoder cores. The diode 33 is provided for the same reason as are the diodes "i3 and 23 in FIG. 1, to prevent sneak currents from owing through drive lines other than the selected drive line, which would otherwise occur because of the many parallel paths present in this type of linear selection system, as described previously.

A drive current is applied to a selected one of the 5() ecoder cores by means of -a decoder voltage source 41 which is triggered on by the decoder timing -pulse ED, whereupon full select current is passed through the one drive line 33 of the 50 drive lines whose drivers have been activated at both ends thereof by diode decoders 227 and 29 in accordance with the settings of flip-deps Ll-L-l and L-LS, respectively. For example, if the settings of address register ilip-tlops lol-L4 are such that driver D10 is activated by diode decoder 27 and the setting of address register flip-ops Ltr-L3 are such that driver Dg, is activated by diode decoder 29, then when the decoder timing pulse ED appears, current will flow from the decoder voltage source il through the last or iiftieth drive line 3d by means or" drivers Dm and D5 to select the liftieth decoder core in the array.

As shown in FIG. 5a Which illustrates a typical decoder CIL core 35 in detail, each decoder core 35 is provided with three other windings besides drive Winding 33, these being a bias Winding 31, a read driver Winding 57, and a write driver winding 3d. Although only single turn windings are shown in FlG. 5a, it will be understood that these four windings 3l, 37, 38, and 39 on each decoder core 35 could be provided with any desired number ol turns. Using a tape wound core for each decoder core 35, it will usually be found advantageous to use multiturn windings.

As indicated in FIG. 5a, the read driver winding 37 is fed to a respective one of the 50 read drivers lil-R50 of FIG. l and the write driver winding 39 is fed .to a respective one of the 50 write drivers W1-W5U. For example, if the selected decoder core is assumed to be the first core 35 in the decoder core array, then its read and Write driver windings would be fed to read and Write drivers R1 and W1, respectively. The bias winding 321 on each decoder core 35 receives a bias current IB from a voltage source -VB, which is chosen to be of suticient magnitude to maintain the core saturated in a predetermined state (which will be assumed to be the "G state) in the absence of a drive current in the decoder core drive line 35. Fig 6, which shows a typical hysteresis loop of a decoder core 35, illustrates such .as condition, the designation HB representing the coercive effect applied to each decoder core 35 as a result ot the bias cu rent iB lowing inthe bias winding 31. Each decoder core thus ests at a point on its hysteresis loop, such as indicated at P in FIG. 6, which will be .assumed to correspond to the G state of the core 35.

The decoder voltage source il is chosen so that the coercive effect HD applied to the selected decoder core 35, as a result of drive current ilo-wing in the selected drive line upon the appearance of the decoder timing pulse ED, is of sur'cient magnitude -to drive the selected decoder core .35 to the opposite or 1 state, as illustrated in FlG. 6, if sulicient time is available to permit this switching to taire place.

The amount of time available for switching the selected decoder core 35 may be determined by referring again to graph B of FlG. 4, in which the decoder timing pulse ED will be seen to appear at 0.8 microseccnd in the memory cycle and return to zero at 3.5 .microseconds for a total duration of 2.7 microseconds. This duration of 2.7 microseconds of the decoder timing pulse ED determines the time tor which the decoder voltage source 4t supplies drive current to the drive line 33? of the selected core 3S, and is chosen in conjunction with the characteristics of the decoder core 3S so that the decoder core 35 can not be fully switched to the 1 state in the 2.7 microsecond duration of the decoder timing pulse ED provided. The point on its hysteresis loop of FIG. 6 to which the selected decoder core 35 is switched in the 2.7 micro-seconds for which the drive current is present lis illustrated by the point Q. When the decoder timing pulse ED returns to zero at 3.5 microseconds in the memory cycle, the coercive eiect HD is thereby removed and the coercive eitect HB then acts to return the decoder core S5 to the point P by the dashed line path illustrated in FG. 6 which merges with the back end of the hysteresis loop.

During the partial switching action ot the selected decoder core 35' just described, voltages are induced in its read and write driver windings 37 and 39 which are ted to respective rca-d and write drivers thereof in a manner which causes these read and writer drivers to be activated during respective read and write portions of a memory cycle. Thus, any corresponding pair ot the 50 pairs of read and write drivers .R1-R50 and Wl-W50 at the left end of the array l5@ in FIG. l may be activated by selecting a corresponding decoder core 3:3', and, as pointed out previously, this is accomplished in accordance with the ettings of address register dip-flops tft-L4 and led-L8. ln a like manner any corresponding pair of the 50 pairs of read and write drivers Rl-Rt-,O and Wl-Wm 4at the opposite end of the array l5@ in FIG. 1 may be activated encens constructed decoder 125 in accordance with the settings of address register flip-hops Lilli-L12 and L13-L16 to com@ plete the selection or a particular one of the 2560 rows in the array of FlG. l. Y

The specific manner in which the read and write driver windings ot selected decoder cores in decoders and 125 operate to activate their corresponding read and write drivers during read and write portions of a memory cycle in response to the switching of the decoder cores selected by decoders 25 and 125 will now be explai ed by means of the schematic diagram or FIG. 7. ln the portion of the decoder 125 shown in FIG. 7J elements corresponding to like elements in decoder 25 have been designated by numerals exactly 100 greater than the numerals designating like elements in thedecoder 2S. For example, the decoder core and read and write windings in decoder E25 are respectively designated as 135, 137, and 139m decoder 12S corresponding to like elements 3S, 37, and 39 ofdecoder 25. For convenience, it will again be assumed that the row to be selected is row G1 50 of group G1 and for simplicity of i lustration only the -speciiic decoder cores and read and write drivers necessary to make this selection are shown in FIG. 7. As described previously, to select row G1 511, it is necessary to activate read drivers R1 lg during the read portion of a memory cycle and to activate corresponding write -drivers W1 and W'50 during the write portion of theV cycle. ln order to permit the activation of these read and write drivers'to be more clearly understood, illustrative embodiments thereof are shown in FlG. 7 along with .illustrative embodiments of the read and write current sources 22 and 2S, respectively, and the read and write dummies 2@ and 3@ associated therewith.

Considering rst the read and write drivers R1, 12356, W1, and W in FlG. 7, it will be seen that each may typically comprise PNP transistor 2o having a base, `an emitter, and a collector. VThe respective driver win-ding feeding each transistor is connected ybetween the base and emitter elements thereof through a parallel resistor-capacitor network 2d provided in series with the transistor 'oase in a conventional manner. As will be understood by those skilled in the art, the -resistor of the network 24 serves to limit current applied to the transistor base while the capacitor of the network 24 serves to provide a fast response to an applied input signal.

twill be noted (as conventionally indicated by the location of the dots in the schematic illustrations of the read and write driver windings of the decoder cores in FlG. 7), that the read and write drivers windings of each decoder core or 135 are connected opposite in polarity with respect to their respective transistors 26. As will hereinafter be described, this opposite connection of the read and write driver windings of each decoder core permits Veither the two selected read `drivers R1V and B350 or the two selected Write drivers W1 and W50 to be activated, but not both, during respective read and write portions of the memory cycle.

As shown in FlG. 7, t.e collectors of transistor 26 of rea-d driver R1 and write driver Wm are connected to their respective read and write current sources 22 and 23 while the emitters thereof are connected to theirV respective read and write drive lines. On the other hand, the collectors of theV transistors 2:5 of the read driver H50 and write ldriver W1 are connected to their respective read and write ldrive lines while the emitters thereof are connected toV circuit ground. The transistors of all other read and write drivers are connected in a similar manner to those shown -in FIG. 7. In the absence of a signal in the driver winding of a transistor 26, the transistor 25 will be essentially cut oft preventing current ilowto or from the `drive lines to which the driver is connected. Y

Now considering the read current source 22 and the write current source 28, it will be seen that each may typically comprise an NPN transistor 29 having its emitter connected to a negative voltage source E- through a load resistor Zrgits 1oase connected toa negative voltage V- to bias the transistor 29 into the conducting state, and its collector to one end of an inductor 21. The other end of the inductor 21 of the read current source 22 is connected to the collectors of the transistors 2e of all the other read drivers liz-R50 in the same manner as illustrated for the read driver R1 in FG. 7. Similarly, the other end of the inductcr 21 of VtheV write current source is connected to the collectors of the transistor 26 of all the other write drivers W1-W'49 in the same manner Vas illustrated for the write driver W50 in FlG. 7.

The read and write dummies 2@ and 3@ may typically comprise a PNP transistor 27 having its emitter connected to circuit ground,Y its collector connected to the output of its respective read `-or write current source 22 or 23 (which is the junction .between the inductor 21 and the collect-ors of the transistors 26 of read drivers R1-R50 or write drivers W1-W50), and its base connected to receive a saturating bias current from a negative voltage sourceV- which maintains the transistor 27 saturated until the transistor 27 is cut o by application of its respective negative timing pulse ERD or EWD to the base thereof through the network 2d. Thus, in the absence of the read dummy timing pulse ERD, substantially all the current supplied by the read current source 22 will pass through the saturated transistor 27 of the read dummy Ztl, effectively shortingV out the read currentV source 22 and thereby preventing read current flow to the read drivers R1-R50. Similarly, in the absence of the write dummy timing pulse EWD, substantially all the current supplied by the write current source 28 will pass through the `saturated transistor 27 of the write dummy 343 effectively shorting out the write 'current Vsource 25 and thereby preventing write current llow to the write drivers W1-W50. VThe use `of read and write dummies 263 and 30 with respectiveread and write current sources 22 and 28, as described herein, along with the provision of an inductor 21 through which current will always be owing, is highly advantageous in improving reliability of operation and improved speed of response, as is explained in detail in the commonly assigned copending patent application S.N. 616,439 for Magnetic Core Driving Circuit, iiled October 17, 1956 and now U.S. Patent No. 3,027,546 `in the names of Royal E. Howes and Paul Higashi.

Having described typical embodiments of the read and write drivers R1 and R210 and W1 and W51, as well as the read and write current sources 22 and 28 and their respective read and write dummies 2@ and 3i), the operationwof the read and write driver windings on each of the selected decoder cores to activate their respective read and write drivers during'a memory cycle will now be clearly understood from the following discussion.

It will be remembered that when the decoder timing pulse ED appears at 0.8 microsecond, Vas shown in graph B of FIG. 4, a drive current is applied to the drive line 38 of the selected decoder core 35 of decoder 25 and also to the drive line 13d of the selected decoder core 135 ofthe similarly constructed decoder 125, producing a coercive elect HD which drives the selected decoder cores 35 and 135 from the point P shown in FIG. 5a to the point Q in the 2.7 microsecond time 'for which the decoder timing pulse ED is present. The change in flux in the selected ,decoder cores 35 and 135 resulting from this partial switching causes voltages to be induced in the read vand write driver windings thereof. BecauseY of the opposite polarity connections of the read and write driver windings of each decoder core with respect to their respective driver transistors 26, the transistors 26 of read drivers R1 and R50 receive Vnegative signals from read driver lwindings 37 and 137, respectively, to turn these transistors on, Ywhile the transistors 26 yoi" write drivers W1 and W50 receive positive signals from write driver 

1. MAGNETIC DATA-STORAGE MEANS COMPRISING: AN ARRAY OF BISTABLE MAGNETIC ELEMENTS FUNCTIONALLY ARRANGED TO BE DRIVEN IN ROWS AND COLUMNS, ROW AND COLUMN COERCING WINDINGS COUPLED TO RESPECTIVE ROWS AND COLUMNS OF SAID ELEMENTS, EACH ELEMENT BEING COERCIBLE FROM EITHER ONE TO THE OTHER OF ITS TWO STABLE STATES BY AN APPLIED COERCING CURRENT DENOTED BY I IN ONE DIRECTION AND -I IN THE OPPOSITE DIRECTION, AND EACH ELEMENT BEING RELATIVELY UNDISTURBED BY APPLICATION OF A COERCING CURRENT HAVING A MAGNITUDE OF I/3, MEANS FOR APPLYING A COERCING CURRENT OF 2I/3 DURING A READING INTERVAL AND -I2/3 DURING A WRITING INTERVAL TO THE ELEMENTS IN A SELECTED ROW OF SAID ARRAY VIA THEIR RESPECTIVE ROW WINDINGS, SAID SELECTED ROW CONTAINING A PLURALITY OF MULTI-BIT WORDS IN WHICH ONLY A SINGLE SELECTED MULTI-BIT WORD IS TO BE READ OUT AND WRITTEN INTO DURING RESPECTIVE READING AND WRITING INTERVALS; LOGICAL CIRCUIT MEANS FOR INDICATING WHICH ELEMENTS OF THE SELECTED ROW CORRESPOND TO THE SELECTED WORD; MEANS RESPONSIVE TO SAID LOGICAL CIRCUIT MEANS FOR APPLYING A COERCING CURRENT OF I/3 DURING RESPECTIVE READING AND WRITING INTERVALS IN EITHER THE READ OR WRITE DIRECTION TO EACH COLUMN OF ELEMENTS IN SAID ARRAY VIA ITS RESPECTIVE COLUMN WINDINGS, SAID DIRECTION BEING DETERMINED BY WHETHER THE COLUMN CONTAINS AN ELEMENT OF THE SELECTED WORD; MEANS CONTROLLING THE TIME OF APPLICATION AND THE DIRECTION OF THE COERCING CURRENT APPLIED BY THE TWO LAST MENSIONED MEAND SO THAT DURING A READING INTERVAL THE SELECTED ELEMENTS IN THE SELECTED ROW RECEIVE A RESULTANT COERCING CURRENT OF I, WHILE UNSELECTED ELEMENTS IN THE SELECTED ROW RECEIVE A RESULTANT COERCING CURRENT OF I/3, AND ALL OTHER UNSELECTED ELEMENTS IN UNSELECTED ROWS OF THE ARRAY RECEIVE A COERCING CURRENT OF EITHER I/3 OR -I/3, AND SO THAT DURING A WRITING INTERVAL THOSE ELEMENTS OF THE SELECTED ELEMENTS IN A SELECTED ROW IN WHICH ONE BINARY DIGIT IS TO BE STORED RECEIVE A RESULTANT COERCING CURRENT OF -I, WHILE THE OTHER SELECTED ELEMENTS IN THE SELECTED ROW IN WHICH THE OTHER BINARY DIGIT IS TO BE STORED AS WELL AS ALL UNSELECTED ELEMENTS IN THE SELECTED ROW RECEIVE A RESULTANT COERCING CURRENT OF -I/3, AND ALL OTHER UNSELECTED ELEMENTS IN UNSELECTED ROWS IN THE ARRAY RECEIVE A COERCING CURRENT OF EITHER I/3 OR -I/3; AND MEANS COUPLED TO THE ELEMENTS IN SAID ARRAY FOR PROVIDING AN ELECTRICAL INDICATION IN RESPONSE TO THE SWITCHING OF AT LEAST ONE OF THE SELECTED ELEMENTS DURING THE READING INTERVAL. 